/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ProyectoBienestarUniversitarioComfenalcoCulturalis.src.java.mvc.dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import mvc.modelos.Integrante;

/**
 *
 * @author pezcado
 */
public class IntegranteDAO implements IDAO<Integrante> {

    private PreparedStatement consultar;
    private PreparedStatement insertar;
    private PreparedStatement modificar;
    private PreparedStatement eliminar;
    private PreparedStatement listar;
    private Model model;

    public Integrante consultar(int codigo) throws SQLException {
        model= model.getInstance();
        String sql="select identificacion, codigo from Integrante where identificacion="+codigo;
        consultar=model.getCon().prepareStatement(sql);
        ResultSet resultSet= consultar.executeQuery();
        Integrante integrante= new Integrante();
            
        try{
            resultSet.next();
            
            integrante.setIdentificacion(resultSet.getInt("identificacion"));
            integrante.setTipoId(resultSet.getString("codigo"));
            
            //return integrante;
        }catch(Exception e){
            
        }
        return integrante;
    }

    public void insertar(Integrante IDAO) throws SQLException {
        model= model.getInstance();
        if(insertar==null){
            String sql="insert into Integrante values(?,?)";
            insertar= model.getCon().prepareStatement(sql);
        }
        insertar.setInt(1, IDAO.getIdentificacion());
        insertar.setInt(2, IDAO.getCodigo());
                
        insertar.executeUpdate();
    }
    
    public void modificar(Integrante IDAO) throws SQLException { // no se puede modificar nada al Integrante
        model= model.getInstance();
        String sql="update Integrante set"
                //+ "identificacion="+IDAO.getIdentificacion()+","
                + "tipoId='"+IDAO.getTipoId()+"',"
                + "nombre='"+IDAO.getNombre()+"',"
                + "apellido='"+IDAO.getApellido()+"',"
                + "telefono='"+IDAO.getTelefono()+"',"
                + "correo='"+IDAO.getCorreo()+"',"
                + "direccion='"+IDAO.getDireccion()+"',"
                + "tipoPersona='"+IDAO.getTipoDePersona()+"',"
                //+ "id='"+IDAO.getId()+"',"
                + "estado='"+IDAO.getEstado()+"',"
                + "descripcion='"+IDAO.getDescripcion()+"',"
                //+ "codigo="+IDAO.getCodigo()+","
                //+ "idIntegrante="+IDAO.getIdIntegrante()+","
                + "where identificacion="+IDAO.getCodigo();
        
        modificar=model.getCon().prepareStatement(sql);
        modificar.executeUpdate();
    }

    public void eliminar(Integrante IDAO) throws SQLException {
        model= model.getInstance();
        String sql="delete from Integrante where identificacion="+IDAO.getIdentificacion();
        eliminar=model.getCon().prepareStatement(sql);
        eliminar.executeUpdate();
    }

    public LinkedList<Integrante> listar() throws SQLException {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}
